package co.edu.usbcali.unidad.modelo.dto;

import co.edu.usbcali.unidad.modelo.Reserva;
import co.edu.usbcali.unidad.presentation.backEndBeans.ReservaView;

import java.io.Serializable;

import java.util.Date;

import javax.faces.event.ActionEvent;

/**
 * 
 * 
 * @author Zathura Code Generator http://code.google.com/p/zathura
 * 
 */
public class ReservaDTO implements Serializable {
	private static final long serialVersionUID = 1L;
	private String estCodigo_Estado;
	private String priCodigo_PropietarioInmueble;
	private String zocCodigo_ZonaComun;
	private String resCodigo;
	private Date resFecha;
	private Date resHoraFin;
	private Date resHoraInicio;
	private boolean rowSelected = false;
	private ReservaView reservaView;
	private Reserva reserva;

	public Reserva getReserva() {
		return reserva;
	}

	public String listener_update(ActionEvent e) {
		try {
			reservaView
					.action_modifyWitDTO(
							((resCodigo == null) || resCodigo.equals("")) ? null
									: new String(resCodigo),
							((resFecha == null) || resFecha.equals("")) ? null
									: resFecha,
							((resHoraFin == null) || resHoraFin.equals("")) ? null
									: resHoraFin,
							((resHoraInicio == null) || resHoraInicio
									.equals("")) ? null : resHoraInicio,
							((estCodigo_Estado == null) || estCodigo_Estado
									.equals("")) ? null : new String(
									estCodigo_Estado),
							((priCodigo_PropietarioInmueble == null) || priCodigo_PropietarioInmueble
									.equals("")) ? null : new String(
									priCodigo_PropietarioInmueble),
							((zocCodigo_ZonaComun == null) || zocCodigo_ZonaComun
									.equals("")) ? null : new String(
									zocCodigo_ZonaComun));
			rowSelected = !rowSelected;
		} catch (Exception ex) {
			return "";
		}

		return "";
	}

	public void listener_cancel(ActionEvent e) {
		resCodigo = reserva.getResCodigo().toString();
		resFecha = reserva.getResFecha();
		resHoraFin = reserva.getResHoraFin();
		resHoraInicio = reserva.getResHoraInicio();
		estCodigo_Estado = (reserva.getEstado().getEstCodigo() != null) ? reserva
				.getEstado().getEstCodigo().toString()
				: null;
		priCodigo_PropietarioInmueble = (reserva.getPropietarioInmueble()
				.getPriCodigo() != null) ? reserva.getPropietarioInmueble()
				.getPriCodigo().toString() : null;
		zocCodigo_ZonaComun = (reserva.getZonaComun().getZocCodigo() != null) ? reserva
				.getZonaComun().getZocCodigo().toString()
				: null;
		rowSelected = !rowSelected;
	}

	/**
	 * <p>
	 * Bound to commandLink actionListener in the ui that renders/unrenders the
	 * Customer details for editing.
	 * </p>
	 */
	public void toggleSelected(ActionEvent e) {
		resCodigo = reserva.getResCodigo().toString();
		resFecha = reserva.getResFecha();
		resHoraFin = reserva.getResHoraFin();
		resHoraInicio = reserva.getResHoraInicio();
		estCodigo_Estado = (reserva.getEstado().getEstCodigo() != null) ? reserva
				.getEstado().getEstCodigo().toString()
				: null;
		priCodigo_PropietarioInmueble = (reserva.getPropietarioInmueble()
				.getPriCodigo() != null) ? reserva.getPropietarioInmueble()
				.getPriCodigo().toString() : null;
		zocCodigo_ZonaComun = (reserva.getZonaComun().getZocCodigo() != null) ? reserva
				.getZonaComun().getZocCodigo().toString()
				: null;
		rowSelected = !rowSelected;
	}

	public void setReserva(Reserva reserva) {
		this.reserva = reserva;
	}

	public ReservaView getReservaView() {
		return reservaView;
	}

	public void setReservaView(ReservaView reservaView) {
		this.reservaView = reservaView;
	}

	public String getEstCodigo_Estado() {
		return estCodigo_Estado;
	}

	public void setEstCodigo_Estado(String estCodigo_Estado) {
		this.estCodigo_Estado = estCodigo_Estado;
	}

	public String getPriCodigo_PropietarioInmueble() {
		return priCodigo_PropietarioInmueble;
	}

	public void setPriCodigo_PropietarioInmueble(
			String priCodigo_PropietarioInmueble) {
		this.priCodigo_PropietarioInmueble = priCodigo_PropietarioInmueble;
	}

	public String getZocCodigo_ZonaComun() {
		return zocCodigo_ZonaComun;
	}

	public void setZocCodigo_ZonaComun(String zocCodigo_ZonaComun) {
		this.zocCodigo_ZonaComun = zocCodigo_ZonaComun;
	}

	public Date getResFecha() {
		return resFecha;
	}

	public void setResFecha(Date resFecha) {
		this.resFecha = resFecha;
	}

	public Date getResHoraFin() {
		return resHoraFin;
	}

	public void setResHoraFin(Date resHoraFin) {
		this.resHoraFin = resHoraFin;
	}

	public Date getResHoraInicio() {
		return resHoraInicio;
	}

	public void setResHoraInicio(Date resHoraInicio) {
		this.resHoraInicio = resHoraInicio;
	}

	public String getResCodigo() {
		return resCodigo;
	}

	public void setResCodigo(String resCodigo) {
		this.resCodigo = resCodigo;
	}

	public boolean isRowSelected() {
		return rowSelected;
	}

	public void setRowSelected(boolean rowSelected) {
		this.rowSelected = rowSelected;
	}
}
